package com.zxc.dao;

import com.zxc.model.OnlineExam;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 试卷表(OnlineExam)表数据库访问层
 *
 * @author makejava
 * @since 2019-05-01 11:38:59
 */
public interface OnlineExamDao {

    /**
     * 通过ID查询单条数据
     *
     * @param OnlineExamId 主键
     * @return 实例对象
     */
    OnlineExam queryById(Integer OnlineExamId);

    /**
     * 通过实体作为筛选条件查询
     *
     * @param OnlineExam 实例对象
     * @return 对象列表
     */
    List<OnlineExam> queryAll(OnlineExam OnlineExam);

    /**
     * 新增数据
     *
     * @param OnlineExam 实例对象
     * @return 影响行数
     */
    int insert(OnlineExam OnlineExam);

    /**
     * 修改数据
     *
     * @param OnlineExam 实例对象
     * @return 影响行数
     */
    int update(OnlineExam OnlineExam);

    int updateScore(OnlineExam OnlineExam);

    /**
     * 通过主键删除数据
     *
     * @param OnlineExamId 主键
     * @return 影响行数
     */
    int deleteById(Integer OnlineExamId);

    /**
     * 批量删除
     *
     * @param ids
     * @return
     */
    int deleteByIds(Integer[] ids);

    /**
     * 根据id更新成绩
     *
     * @param score
     * @param OnlineExamId
     * @return
     */
    int updateScoreById(@Param("score") double score, @Param("OnlineExamId") Integer OnlineExamId);

    /**
     * 获取科目列表
     * @return
     */
    List<Map> querySubject();
}